Timeline synchronization control method for multiple display views

ABSTRACT

A video surveillance system and methods for operating that sets the timeline for multiple views of video data from different cameras to playback separately from one another or to be linked so as to synchronize their playback. Placement and selection of a playback cursor to a particular point in a timeline of master view will cause linked views to automatically move to and synchronize to the same point in their associated timelines, and when the video data is being transmitted from multiple cameras to cause the cameras displaying the linked views to update so that the video data associated with each camera is updated to the selected point in time from the linked master view. Timeline resolutions for linked views are not affected by linking or unlinking views.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional PatentApplication No. 62/027,210, filed Jul. 21, 2014. The above-citedapplication is hereby incorporated by reference, in its entirety, forall purposes.

TECHNICAL FIELD

The present disclosure relates to a method and apparatus for the controland display of recorded video data having a timeline control function ina window of a display device.

BACKGROUND

Video surveillance systems and monitoring applications capture andrecord time-stamped video data from one or more security surveillancecameras and often correlate the recorded video data streams of eachcamera with a timeline (i.e. day, month, year and time), which ispresented and controlled during review of the video data at a laterdate. Playback and display of the recorded video data from a camera on acomputer monitor or other visual display device, like a mobile phone ortablet, is often accompanied with a graphical representation of atimeline and associated timeline control functionality that the usermanipulates by dragging a pointer, finger or playback cursor (the“Playback Cursor) to select a specific time of interest from thetimeline presented within a user interface window or view (the “View”)of the surveillance monitoring application. Based on the specific timeof interest selected within the timeline window, the surveillance systemor application will then retrieve the stored time-stamped video datathat correlates with the selection for playback and display to the user.If the surveillance system or application has access to video data frommultiple cameras, a separate View is typically associated with eachcamera and a separate timeline is used to control display of the videodata from each camera.

Video surveillance systems and applications typically also allow theuser to select the recorded video data from one or more camera(s) fromamong the multiple cameras to display in within a View. The video datafrom each camera may then be displayed within separate sub-regions ofthe View. In the same manner a timeline and its associated controlfunctionality will control the playback and display of one camera withina View, multiple cameras presented in multiple sub-regions of the Viewmay also be controlled. For example, if a single camera is selected,only the video data from the single camera will be shown. If two camerasare selected, the video data from both cameras will be presented in twosub-regions of the View, with the total number of sub-regions displayedin the View being equal to the total number of cameras selected. In sucha case, all of the cameras selected for display of video data within theView will have the same timeline and will be controlled by the singletimeline control functionality.

Video surveillance applications typically also support multipleconcurrent Views whereby a user may select a first set of cameras todisplay in a first View, and select a second set of cameras to displayin a second View, with each View having its own, independent timeline,timeline control functionality, and playback state. One difficultyassociated with this arrangement occurs if the user sets the PlaybackCursor to a specific point in time in the first View and wishes tolocate the same point in time in the second View. As the two Views arenot linked in any way, the user must attempt to manually locate the samepoint in time in the second View timeline and then set the PlaybackCursor to this point in time. When multiple concurrent Views are beingused at the same time, potentially displaying video data from hundredsof independent cameras, a requirement to manually select, open andupdate the point in time of interest within each of those Views is bothtime consuming and error prone.

Finally, while some video surveillance systems or applications supportthe ability to link multiple Views together, the multiple Views and themultiple sub-regions displaying camera video data from a differentcamera and/or camera data stream (the “subview(s)”) still share a singletimeline. This means that initiating a timeline change in one Viewcauses the same change to occur in the timeline of all of the otherViews. Hence, multiple independent Views, multiple sub-regions of asingle View, or multiple Views (with or without sub-regions) are eitherall singularly controlled or all simultaneously controlled by a singularcontroller.

SUMMARY

The present disclosure relates to a video surveillance system orapplication and methods for operating the same that include the abilityto set the timeline for multiple Views/subviews within a View separatelyfrom one another. The described techniques also enable linking themultiple Views/subviews together so that placement and selection of thePlayback Cursor to a particular point in the timeline of one View (the“Master View”) will cause the Playback Cursor in the linkedView(s)/subview(s) to automatically move to and synchronize to the samepoint in their associated timelines. In some aspects, when the videodata is being transmitted from multiple cameras to cause the camerasdisplaying the linked subviews/Views to update, the video dataassociated with each camera is updated to the selected point in timefrom the linked Master View.

The present disclosure also enables users with the ability to linkmultiple independent Views/subviews together, and to easily remove alinked View/subview from a group of linked Views/subviews withoutaffecting the behavior (i.e. independent timeline, timeline controlfunctionality and playback state) of the other linked Views/subviews inthe group. Furthermore, the timeline resolution of the timelineassociated with each View/subview is retained when a View/subview islinked to or removed from the linked group. For example, the timeline ofa first View can be set to a month level timeline and the timeline of asecond View can be independently set to a day level timeline. When thetwo Views are linked together neither timeline resolution changes,rather only the Playback Cursors in the linked Views are synchronized tothe same point in their associated timelines.

According to a first aspect, there is provided a video camera playbackcontrolling system, comprising: a plurality of video cameras, whereineach camera is configured to collect video data over a timeline and toplayback the collected video data for the timeline; a display fordisplaying the collected video data; and a computerized system coupledto the plurality of video cameras and configured to group the collectedvideo data of two or more video cameras into one or more views, whereinthe timeline for the collected video data of each video camera in a viewis the same and independent of another view if the view and the anotherview are not linked, and wherein the timeline for the collected videodata of each video camera in a view is synchronized with the timelinefor the collected video data of each video camera in other views if theview and the other views are linked.

According to the first aspect, wherein each timeline for the collectedvideo data for each video camera in a view has a timeline resolution andwherein the timeline resolution does not change when a view is linked tothe other views.

According to the first aspect, wherein when a view is linked to otherviews the timeline resolution does not change when the link is removedand the view and the other views are unlinked.

According to a second aspect, there is provided a method for controllinga playback of a plurality of video cameras, comprising: associating afirst playback state with a first view, the first view including videodata collected from two or more video cameras among the plurality ofvideo cameras over a first timeline; associating a second playback statewith a second view, the second view including video data collected fromtwo or more video cameras among the plurality of video cameras over asecond timeline; linking the first view to the second view tosynchronize the first playback state with the second playback state; andmaintaining the first playback state independent of the second playbackstate when the first view is unlinked from the second view.

According to the second aspect, wherein the first timeline has a firsttimeline resolution, wherein the second timeline has a second timelineresolution, and wherein the first timeline resolution is independent ofthe second timeline resolution regardless of whether the first view islinked to the second view.

According to a third aspect, there is provided a method for controllinga playback of a plurality of video cameras, comprising: associating afirst playback state with a first view, the first view including videodata collected from two or more video cameras among the plurality ofvideo cameras over a first timeline; associating a second playback statewith a second view, the second view including video data collected fromtwo or more video cameras among the plurality of video cameras over asecond timeline; disabling the first playback state and associating thefirst view with a global playback state; linking the first view to thesecond view to create linked views by synchronizing playback of thefirst timeline with the second timeline by disabling the second playbackstate and associating the second view with the global playback state;and when a user sets a playback time for the global playback state,sending an update to the second view to set a playback time for thesecond view to the playback time for the global playback state.

According to the third aspect, wherein sending an update includesscrolling the second timeline to match the first timeline.

According to the third aspect, further comprising unlinking the linkedviews by disassociating the second view with the global playback stateand enabling the second playback state.

According to the third aspect, wherein the first timeline includes afirst timeline resolution and the second timeline includes a secondtimeline resolution, and further comprising maintaining the firsttimeline resolution independent of the second timeline resolution whenthe first view is linked to the second view.

This summary does not necessarily describe the entire scope of allaspects. Other aspects, features and advantages will be apparent tothose of ordinary skill in the art upon review of the followingdescription of specific embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

In the accompanying drawings, which illustrate one or more exampleembodiments:

FIG. 1 is a block diagram of a surveillance system, including acomputerized system and multiple monitoring devices coupled to thecomputerized system;

FIG. 2 is an illustration of a display window of a surveillance systemshowing a View having a timeline control for multiple sub-regions andlinking functionality according to the present disclosure;

FIG. 3 is a block diagram illustrating multiple Views associated with adisplay window of a surveillance system, wherein each View is un-linkedand has an independent playback state according to the presentdisclosure;

FIG. 4 is a block diagram illustrating multiple Views associated with adisplay window of a surveillance system, wherein two of the Views whichare linked and have a common playback state while one View is un-linkedand has an independent playback state according to the presentdisclosure;

FIG. 5 is a flowchart illustrating timeline synchronization, linking andcontrol according to the present disclosure; and

FIG. 6 is an illustration of three display windows of a surveillancesystem showing different Views, two of which are linked andsynchronized, the third which is un-linked, according to the presentdisclosure.

DETAILED DESCRIPTION

Directional terms such as “top”, “bottom”, “upwards”, “downwards”,“vertically”, and “laterally” are used in the following description forthe purpose of providing relative reference only, and are not intendedto suggest any limitations on how any article is to be positioned duringuse, or to be mounted in an assembly or relative to an environment.Additionally, the term “couple” and variants of it such as “coupled”,“couples”, and “coupling” as used in this description is intended toinclude indirect and direct connections unless otherwise indicated.

Referring to FIG. 1, a computerized system 110 is shown including aprocessor 112, a memory 114 and input/output devices 116 coupledtogether, which may in turn be coupled to multiple monitoring devices118, such as video cameras, lights, sensors, access control systems, orany other equipment that may be used to survey and/or monitor somephysical space, collectively forming a surveillance system 120. Thesurveillance system 120 may further include a display 122, which mayalso be integrated into computerized system 110. The computerized system110 of the surveillance system 120 may include the display 122.Likewise, one or multiples of the monitoring devices 118 may include thecomputerized system 110 and be coupled to the display 122. One ormultiple of the monitoring devices 118 may be separately connected tothe computerized system 110 or connected to one another in a meshnetwork. The computerized system 110, whether part of a desktop system,server system, specialized control center, or a mobile device, mayprovide control for the surveillance system 120 and enable monitoring byusers or other systems. For example, the surveillance system 20 may beprimarily located within a mesh of video cameras (each a computerizedsystem 110) that are wirelessly connected to a mobile device (acomputerized system 110) with a display 122, such as a smart phone, thatincludes an application that permits a user to control and monitor themesh and individual cameras therein.

The display 122 may include a display window 200 as shown in FIG. 2,which may be a visual window displayed within the display 122. Thedisplay window 200 may be generated by an application executed on thecomputerized system 110 and display a View 202, which includes multiplesub-regions (sub-region 204 and sub-region 206) and a number of UserInterface (“UI”) control elements, such as the timeline 208, which isdisplayed at the bottom of the View 202. The timeline 208 displays rows(as illustrated, two rows, corresponding to the two sub-regions 204 and206) of user selected cameras to display video data, which may be listedvertically. The cameras generating the video data in the sub-regions 204and 206 are selected from a UI control element 210 which provides a listof available cameras, such as including cameras 212, 214. Each of thecameras is identified by a camera identification (“ID”), which areillustrated in the sub-regions 204 and 206. For example, camera 212corresponds to sub-region 204, while camera 214 corresponds tosub-regions 206.

Each row within the timeline 208 may display the time ranges for whichrecorded video is available, plus time ranges 216 for which events, suchas motion, were detected. The timeline 208 may allow the user toindividually or collectively control the playback time for all videodata of cameras in the View 202. A user may click on the Playback Cursor218 of the timeline 208 to select a particular time within the timeranges available. Other UI control elements include controllers 220 foreach camera listed in the View 202, each of which controllers 220include controls to skip ahead to an event 216 and skip back to an event216 for the individual sub-regions, which allow the user to skip aheador to skip back to an event for a particular camera in the timeline 208.Below the controllers 220 is a timeline resolution slider 222 that maybe used to select the specific timeline resolution of the timeline foreach camera listed in controller UI element 220, depending on whichcamera listing in element 220 is highlighted or otherwise selected whilethe slider 222 is in use, from minutes to hours to days and months, etc.A Link View button 224 enables the timelines for multiple independentconcurrent Views, as illustrated in FIGS. 4 and 6, to be linked.Playback controller 226 enables the user to select play and to performother control functions, such as fast forward and fast reverse orrewind. Playback controller 226 may include first playback control 223that enable the user to skip forward or backward for a day from the timeand date shown, and second playback controls 225 that enable the user toskip forward or backward by 15 minute increments. The playbackcontroller 226 also displays the timestamp for the video data beingviewed, whether a single sub-region or View or linked Views. When Viewsare linked, such as illustrated with respect to View V1 and View V2 asillustrated in FIG. 4 and FIG. 6, the corresponding timestamps 226 and230 will reflect the same timestamp as illustrated in the playbackcontroller 226.

While the embodiment illustrated in FIG. 1 references a View with videodata from multiple cameras represented in sub-regions, the samedescription applies to subviews within a View as well as multiple Viewsdepicted within separate display windows, as long as independent Viewscan be linked and synchronized and unlinked as described herein. Inorder to simplify the disclosure herein, any such View will be referredto as a “View” herein.

As further illustrated in FIG. 2, the View may be a single window, tab,screen or anything else that displays video data corresponding to someset of cameras. The set of cameras providing video data displayed ineach View may be independent of the set of cameras providing video datadisplayed in all other Views, but the video data for cameras may also bedisplayed in more than one View if desired.

Each View may contain its own timeline, but the playback location ofeach timeline may optionally be “synchronized” with the playbacklocations of one or more other timeline on other Views. As noted above,the user selectable Link View button 224 facilitates the linking andsynchronization of other concurrent Views. As shown in FIG. 2, the LinkView button 224 is depicted as a “Chain Icon,” but could have any otherappropriate design. To operate the Link View button 224, the user onlyneeds to be in a View 200, and then click the Link View button 224 toturn the linking state on or off. For a particular View, the linkedtogether or broken chain icon of the Link View button 224 may indicateif the timeline is globally linked and synchronized or not. When theLink View button 224 is enabled, that timeline's playback location issynchronized with the timeline location of one or more, and in somecases, every other View timeline that has also enabled synchronization.

FIG. 3 further illustrates the underlying logic associated with thedisplay and control of the Views. Each View (V1 302, V2 304, and V3 306)may have an associated ‘Playback State’ (P1 310, P2 312, and P3 314,respectively). A ‘Playback State’ may be a logical construct thatmanages all aspects associated with playing back video data for one ormore cameras in a View. This state may include playback time, playbackmode (i.e., playing or paused), and playback speed (i.e., rewind, fastforward). Every View may be associated with exactly one Playback State.The Playback State associated with a View may determine the videoplayback characteristics for all cameras in the View. All cameras in theView may display video at the time specified by the Playback State, maymirror the play/pause state of the Playback State, etc. There may alsobe a Global Playback State (P0) 308, which is a single Playback Statethat exists in the system and that may be used for synchronizingPlayback States between Views, such as V1 302, V2 304, and/or V3 306.

More specifically, in the un-linked case shown in FIG. 3, every View302, 304, 306 is associated with its own unique Playback State 310, 312,314, and the Global Playback State 308 is not associated with any Views.In the contrasting linked case shown in FIG. 4, View V1 302 and View V2304 are associated with the Global Playback State (P0) 308 instead ofhaving their own independent Playback State, like View V3 306, which isassociated with playback state P3 314.

As described herein, generally the first View to have synchronizationturned ‘ON’ (i.e., via the Link View button 224) is deemed the “Master”.When synchronization for a View is turned on, the individual PlaybackState for that View is disabled. Thereafter, all Views for whichsynchronization is turned ‘ON’ may be synchronized to the Master'stimeline and the individual Playback State for each synchronized View isdisabled. Turning synchronization ‘OFF’ un-links the specific View andre-enables the View's individual Playback State, which allows the userto change the date/time for a specific View without affecting otherViews. It is important to note, however, that linking and un-linking aView may not affect the timeline resolution setting of a particularView. That is to say, if a timeline resolution for a first View is setto display days of a week, and the timeline resolution for a second Viewis set to display a particular day within a week, those displayresolutions will not change if the Views are linked or unlinked. Whatmay happen when a timeline change is made by a user to a select aparticular day and time within a week for the linked Views is that bothViews may be synchronized to the same day and time position in theirrelative timelines (at their respective timeline resolutions), which maycause either View or both Views to update the video data as displayed intheir View.

Referring to FIG. 5, and with reference to FIG. 6, an embodiment of amethod for creating Views and Playback States, linking Views tosynchronize Views and otherwise controlling Views and playback asdescribed herein is further described. While FIGS. 5 and 6 describesteps for linking two out of three Views, and updating their playbackstate for the linked and synchronized Views, the same method can beextended to an unlimited number of Views and is not limited by thisparticular description, which is as follows:

Operation 502: At system startup, a Playback State P0, such as playbackstate 308, is created, representing a Global Playback State for use whensynchronizing other View states.

Operations 504 and 506: The user creates two Views, V1 600 and V2 602,each of which have their own associated Playback States, P1 and P2. Insome aspects, V1 600 and V2 6-2 may correspond to V1 302 and V2 304 ofFIGS. 3 and 4, and may be associated with playback states 310 and 312respectively.

Operation 508: After selecting View V1 600, the user clicks on the LinkView button 604 to make V1 600 the Master. This causes the View V1 600to disable its own Playback State (P1) and associate itself with theGlobal Playback State (P0).

Operation 510: The user selects View V2 602 and clicks on the Link Viewbutton 606 to link V2 602 with V1 600. This causes the View V2 602 todisable its own Playback State (P2), and associate itself with theGlobal Playback State (P0).

Operations 512 and 514: When the user clicks on the Playback Cursor 608for the timeline of V1 600, in order to change the playback time, as theMaster V1 600 commits the new time to its associated Global PlaybackState P0.

Operations 516 and 518: If Global Playback State P0 is not associatedwith any additional Views the process is done at 518, but if GlobalPlayback State P0 is associated with additional Views, the Masterdispatches a message to the other Views to notify them of the update tothe Global Playback State. In this case, View V2 602 receives the updatemessage and updates its own cameras and timeline to display the newtime.

Operations 520-524: View V2 602 checks to see whether the new playbacktime is within its currently displayed timeline bounds. If the newplayback time is within the current bounds, the process is done at 518.If the new playback time is outside of the bounds, the timeline isscrolled to ensure that the timeline is displaying the new bounds atoperation 524. The timeline resolution states for each timeline are notmodified. This means that if V1 600 was zoomed to display a year ofdata, while V2 602 was zoomed to display an hour of data, aftersynchronization, V1 600 would still display a year of data, and V2 602would display an hour of data.

Referring further to FIG. 6, there are three Views displayed. View V1600 and View V2 602 are linked. After the linking and synchronizationsteps described above, the timeline 610 of View V1 600 and the timeline612 of View V2 601 are synchronized so that the same times and datesappear in the timeline area of each View, and the video data displayedfrom each independent camera is synchronized and displayed for theselected time (i.e., Playback Cursor 608 is set to the same position asPlayback Cursor 614). The video data is simultaneously synchronized, ascan be seen from the fact that the time stamps 616 of the individualcamera video data frames for View V1 600 are exactly the same as thetime stamps 618 of the individual camera video data frames for View V2602. View V3 620, however, is not linked so the timeline area 622 isdifferent from timelines 610 and 612 of View V1 600 and View V2 602,respectively and the time stamps 624 do not match the time stamps 616and 618.

It is contemplated that any part of any aspect or embodiment discussedin this specification can be implemented or combined with any part ofany other aspect or embodiment discussed in this specification.

While particular embodiments have been described in the foregoing, it isto be understood that other embodiments are possible and are intended tobe included herein. It will be clear to any person skilled in the artthat modifications of and adjustments to the foregoing embodiments, notshown, are possible.

1. A video camera playback controlling system, comprising: a pluralityof video cameras, wherein each video camera is configured to collectvideo data over a timeline; a computerized system coupled to theplurality of video cameras, wherein the computerized system isconfigured to: receive the collected video data from the plurality ofvideo cameras; group the collected video data of two or more videocameras into one or more views, the one or more views comprising a firstview and a second view; wherein the collected video data of each videocamera in the first view is associated with a first timeline and thecollected video data of each video camera in the second view isassociated with a second timeline; wherein the first timeline isindependent of the second timeline if the first view and the second vieware not linked; and wherein the first timeline is synchronized with thesecond timeline if the first view and the second view are linked; and adisplay for displaying the collected video data.
 2. The system of claim1, wherein the first and second timelines for the collected video datafor each video camera in the first and second views are each associatedwith a timeline resolution and wherein the timeline resolutionsassociated with the first and second views do not change when the firstview is linked to the second view.
 3. The system of claim 2, whereinwhen the first view is linked to the second view, the timelineresolutions associated with the first and second view do not change whenthe link is removed and the first view and the second view are unlinked.4. The system of claim 1, wherein at least one of the first view or thesecond view includes at least a first subview and a second subview,wherein the first subview is associated with the collected video data ofa first video camera and the second subview is associated with thecollected video data of a second video camera.
 5. The system of claim 4,wherein the first subview is associated with a first subview timelineand the second subview is associated with a second subview timeline. 6.The system of claim 5, wherein the first subview timeline is linkablewith the second subview timeline such that adjusting a playback cursorassociated with the first or second subview timeline adjusts a playbackcursor associated with the other of the first or second subviewtimeline.
 7. A method of controlling a playback of a plurality of videocameras, comprising: associating a first playback state with a firstview, the first view including video data collected from two or morevideo cameras among the plurality of video cameras over a firsttimeline; associating a second playback state with a second view, thesecond view including video data collected from two or more videocameras among the plurality of video cameras over a second timeline;linking the first view to the second view to synchronize the firstplayback state with the second playback state; and maintaining the firstplayback state independent of second playback state when the first viewis unlinked from the second view.
 8. The method of claim 7, wherein thefirst timeline has a first timeline resolution, wherein the secondtimeline has a second timeline resolution, and wherein the firsttimeline resolution is independent of the second timeline resolutionregardless of whether the first view is linked to the second view. 9.The method of claim 7, wherein linking the first view to the second viewcomprises: disabling the first playback state and associating the firstview with a global playback state; linking the first view to the secondview to create linked views; and upon receiving a playback timeselection for the global playback state, sending an update to the secondview to set a playback time for the second view to the playback time forthe global playback state.
 10. The method of claim 9, wherein linkingthe first view to the second view to create the linked views comprisessynchronizing playback of the first timeline with the second timeline.11. The method of claim 10, wherein synchronizing playback of the firsttimeline with the second timeline comprises disabling the secondplayback state and associating the second view with the global playbackstate.
 12. The method of claim 9, wherein sending an update includesscrolling or adjusting the second timeline to match the first timeline.13. The method of 9, further comprising unlinking the linked views bydisassociating the second view with the global playback state andenabling the second playback state.
 14. The method of claim 9, whereinthe first timeline includes a first timeline resolution and the secondtimeline includes a second timeline resolution, and further comprisingmaintaining the first timeline resolution independent of the secondtimeline resolution when the first view is linked to the second view.15. The method of claim 9, further comprising: associating a thirdplayback state with a third view, the third view including video datacollected from two or more video cameras among the plurality of videocameras over a third timeline; disabling the first playback state andassociating the first view with a global playback state; linking thethird view to the first view to create linked views; and upon receivinga second playback time selection for the global playback state, sendingan update to the third view to set a playback time for the third view tothe second playback time for the global playback state.
 16. The methodof claim 7, wherein the first and second playback states each compriseat least one of a playback time, a playback mode, or a playback speed.17. The method of claim 7, further comprising displaying via a userinterface: a first area for displaying the collected video dataassociated with the first view, wherein playback of the collected videodata associated with the first view is controllable by one or morecontrollers associated with the first timeline; a second area fordisplaying the collected video data associated with the second view,wherein playback of the collected video data associated with the secondview is controllable by one or more controllers associated with thefirst timeline or the second timeline if the first view is linked to thesecond view, and wherein playback of the collected video data associatedwith the second view is controllable by one or more controllersassociated with the second timeline if the first view is not linked withthe second view.
 18. The method of claim 17, further comprising:receiving, by the user interface, one or more selection eventsassociated with the one or more controllers associated with the first orsecond timelines; and changing the collected video data displayed in thefirst area or the second area in response to receiving the one or moreselection events.
 19. A non-transitory computer readable mediumincluding instructions, that upon execution by a computing device, causethe computing device to perform the operations of: obtaining video datacollected from two or more video cameras; associating the obtained videodata collected from at least one of the two or more video cameras with afirst timeline; associating the obtained video data collected from atleast another of the two or more video cameras with a second timeline;linking the first timeline with the second timeline in response toreceiving a first selection event; changing a first playback stateassociated with the first or second timeline based on receiving a secondselection event; and changing a second playback state associated withthe other of the first or second timelines to correspond to the changedfirst playback state based on the first selection event.
 20. Thenon-transitory computer readable medium of claim 19, where theinstructions cause the computing device to perform the additionalfunctions of: unlinking the first timeline and the second timeline inresponse to receiving a third selection event; changing at least one ofthe first or second playback state independently of the other of thefirst or second playback states in response to a receiving a fourthselection event.